package com.google.zxing.qrcode.encoder; class Encoder { void a() { int a;
a=0;// .class public final Lcom/google/zxing/qrcode/encoder/Encoder;
a=0;// .super Ljava/lang/Object;
a=0;// 
a=0;// 
a=0;// # static fields
a=0;// .field private static final ALPHANUMERIC_TABLE:[I
a=0;// 
a=0;// .field static final DEFAULT_BYTE_MODE_ENCODING:Ljava/lang/String; = "ISO-8859-1"
a=0;// 
a=0;// 
a=0;// # direct methods
a=0;// .method static constructor <clinit>()V
a=0;//     .locals 1
a=0;// 
a=0;//     const/16 v0, 0x60
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     new-array v0, v0, [I
a=0;// 
a=0;//     #v0=(Reference,[I);
a=0;//     fill-array-data v0, :array_0
a=0;// 
a=0;//     sput-object v0, Lcom/google/zxing/qrcode/encoder/Encoder;->ALPHANUMERIC_TABLE:[I
a=0;// 
a=0;//     return-void
a=0;// 
a=0;//     :array_0
a=0;//     .array-data 4
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         0x24
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         0x25
a=0;//         0x26
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         0x27
a=0;//         0x28
a=0;//         -0x1
a=0;//         0x29
a=0;//         0x2a
a=0;//         0x2b
a=0;//         0x0
a=0;//         0x1
a=0;//         0x2
a=0;//         0x3
a=0;//         0x4
a=0;//         0x5
a=0;//         0x6
a=0;//         0x7
a=0;//         0x8
a=0;//         0x9
a=0;//         0x2c
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         0xa
a=0;//         0xb
a=0;//         0xc
a=0;//         0xd
a=0;//         0xe
a=0;//         0xf
a=0;//         0x10
a=0;//         0x11
a=0;//         0x12
a=0;//         0x13
a=0;//         0x14
a=0;//         0x15
a=0;//         0x16
a=0;//         0x17
a=0;//         0x18
a=0;//         0x19
a=0;//         0x1a
a=0;//         0x1b
a=0;//         0x1c
a=0;//         0x1d
a=0;//         0x1e
a=0;//         0x1f
a=0;//         0x20
a=0;//         0x21
a=0;//         0x22
a=0;//         0x23
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//         -0x1
a=0;//     .end array-data
a=0;// .end method
a=0;// 
a=0;// .method private constructor <init>()V
a=0;//     .locals 0
a=0;// 
a=0;//     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
a=0;// 
a=0;//     #p0=(Reference,Lcom/google/zxing/qrcode/encoder/Encoder;);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method static append8BitBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/encoder/BitVector;Ljava/lang/String;)V
a=0;//     .locals 4
a=0;// 
a=0;//     :try_start_0
a=0;//     invoke-virtual {p0, p2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
a=0;//     :try_end_0
a=0;//     .catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     #v1=(Reference,[B);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v2=(Conflicted);v3=(Conflicted);
a=0;//     array-length v2, v1
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     if-ge v0, v2, :cond_0
a=0;// 
a=0;//     aget-byte v2, v1, v0
a=0;// 
a=0;//     #v2=(Byte);
a=0;//     const/16 v3, 0x8
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     invoke-virtual {p1, v2, v3}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :catch_0
a=0;//     move-exception v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/io/UnsupportedEncodingException;);
a=0;//     new-instance v1, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v1=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     invoke-virtual {v0}, Ljava/io/UnsupportedEncodingException;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     invoke-direct {v1, v0}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v1
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Integer);v2=(Integer);v3=(Conflicted);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method static appendAlphanumericBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 5
a=0;// 
a=0;//     const/4 v4, -0x1
a=0;// 
a=0;//     #v4=(Byte);
a=0;//     invoke-virtual {p0}, Ljava/lang/String;->length()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v2=(Conflicted);v3=(Conflicted);
a=0;//     if-ge v0, v1, :cond_3
a=0;// 
a=0;//     invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Char);
a=0;//     invoke-static {v2}, Lcom/google/zxing/qrcode/encoder/Encoder;->getAlphanumericCode(I)I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     if-ne v2, v4, :cond_0
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     invoke-direct {v0}, Lcom/google/zxing/WriterException;-><init>()V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Integer);
a=0;//     add-int/lit8 v3, v0, 0x1
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     if-ge v3, v1, :cond_2
a=0;// 
a=0;//     add-int/lit8 v3, v0, 0x1
a=0;// 
a=0;//     invoke-virtual {p0, v3}, Ljava/lang/String;->charAt(I)C
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Char);
a=0;//     invoke-static {v3}, Lcom/google/zxing/qrcode/encoder/Encoder;->getAlphanumericCode(I)I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     if-ne v3, v4, :cond_1
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     invoke-direct {v0}, Lcom/google/zxing/WriterException;-><init>()V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_1
a=0;//     #v0=(Integer);
a=0;//     mul-int/lit8 v2, v2, 0x2d
a=0;// 
a=0;//     add-int/2addr v2, v3
a=0;// 
a=0;//     const/16 v3, 0xb
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     invoke-virtual {p1, v2, v3}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x2
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_2
a=0;//     #v3=(Integer);
a=0;//     const/4 v3, 0x6
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     invoke-virtual {p1, v2, v3}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_3
a=0;//     #v2=(Conflicted);v3=(Conflicted);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method static appendBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/qrcode/encoder/BitVector;Ljava/lang/String;)V
a=0;//     .locals 3
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->NUMERIC:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     invoke-virtual {p1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-eqz v0, :cond_0
a=0;// 
a=0;//     invoke-static {p0, p2}, Lcom/google/zxing/qrcode/encoder/Encoder;->appendNumericBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;// 
a=0;//     :goto_0
a=0;//     return-void
a=0;// 
a=0;//     :cond_0
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->ALPHANUMERIC:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     invoke-virtual {p1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-eqz v0, :cond_1
a=0;// 
a=0;//     invoke-static {p0, p2}, Lcom/google/zxing/qrcode/encoder/Encoder;->appendAlphanumericBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_1
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->BYTE:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     invoke-virtual {p1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-eqz v0, :cond_2
a=0;// 
a=0;//     invoke-static {p0, p2, p3}, Lcom/google/zxing/qrcode/encoder/Encoder;->append8BitBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/encoder/BitVector;Ljava/lang/String;)V
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_2
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->KANJI:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     invoke-virtual {p1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-eqz v0, :cond_3
a=0;// 
a=0;//     invoke-static {p0, p2}, Lcom/google/zxing/qrcode/encoder/Encoder;->appendKanjiBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_3
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     new-instance v1, Ljava/lang/StringBuffer;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/lang/StringBuffer;);
a=0;//     const-string v2, "Invalid mode: "
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/StringBuffer;);
a=0;//     invoke-virtual {v1, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// .end method
a=0;// 
a=0;// .method private static appendECI(Lcom/google/zxing/common/CharacterSetECI;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 2
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->ECI:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/qrcode/decoder/Mode;->getBits()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     const/4 v1, 0x4
a=0;// 
a=0;//     #v1=(PosByte);
a=0;//     invoke-virtual {p1, v0, v1}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     invoke-virtual {p0}, Lcom/google/zxing/common/CharacterSetECI;->getValue()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     const/16 v1, 0x8
a=0;// 
a=0;//     invoke-virtual {p1, v0, v1}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method static appendKanjiBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 7
a=0;// 
a=0;//     const v6, 0x8140
a=0;// 
a=0;//     #v6=(Char);
a=0;//     const/4 v1, -0x1
a=0;// 
a=0;//     :try_start_0
a=0;//     #v1=(Byte);
a=0;//     const-string v0, "Shift_JIS"
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/String;);
a=0;//     invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
a=0;//     :try_end_0
a=0;//     .catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0
a=0;// 
a=0;//     move-result-object v3
a=0;// 
a=0;//     #v3=(Reference,[B);
a=0;//     array-length v4, v3
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     move v2, v0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v2=(Integer);v5=(Conflicted);
a=0;//     if-ge v2, v4, :cond_2
a=0;// 
a=0;//     aget-byte v0, v3, v2
a=0;// 
a=0;//     #v0=(Byte);
a=0;//     and-int/lit16 v0, v0, 0xff
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     add-int/lit8 v5, v2, 0x1
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     aget-byte v5, v3, v5
a=0;// 
a=0;//     #v5=(Byte);
a=0;//     and-int/lit16 v5, v5, 0xff
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     shl-int/lit8 v0, v0, 0x8
a=0;// 
a=0;//     or-int/2addr v0, v5
a=0;// 
a=0;//     if-lt v0, v6, :cond_0
a=0;// 
a=0;//     const v5, 0x9ffc
a=0;// 
a=0;//     #v5=(Char);
a=0;//     if-gt v0, v5, :cond_0
a=0;// 
a=0;//     sub-int/2addr v0, v6
a=0;// 
a=0;//     :goto_1
a=0;//     if-ne v0, v1, :cond_1
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "Invalid byte sequence"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :catch_0
a=0;//     #v0=(Conflicted);v1=(Byte);v2=(Uninit);v3=(Uninit);v4=(Uninit);v5=(Uninit);
a=0;//     move-exception v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/io/UnsupportedEncodingException;);
a=0;//     new-instance v1, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v1=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     invoke-virtual {v0}, Ljava/io/UnsupportedEncodingException;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     invoke-direct {v1, v0}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v1
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Integer);v1=(Byte);v2=(Integer);v3=(Reference,[B);v4=(Integer);v5=(Integer);
a=0;//     const v5, 0xe040
a=0;// 
a=0;//     #v5=(Char);
a=0;//     if-lt v0, v5, :cond_3
a=0;// 
a=0;//     const v5, 0xebbf
a=0;// 
a=0;//     if-gt v0, v5, :cond_3
a=0;// 
a=0;//     const v5, 0xc140
a=0;// 
a=0;//     sub-int/2addr v0, v5
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_1
a=0;//     shr-int/lit8 v5, v0, 0x8
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     mul-int/lit16 v5, v5, 0xc0
a=0;// 
a=0;//     and-int/lit16 v0, v0, 0xff
a=0;// 
a=0;//     add-int/2addr v0, v5
a=0;// 
a=0;//     const/16 v5, 0xd
a=0;// 
a=0;//     #v5=(PosByte);
a=0;//     invoke-virtual {p1, v0, v5}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     add-int/lit8 v0, v2, 0x2
a=0;// 
a=0;//     move v2, v0
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_2
a=0;//     #v5=(Conflicted);
a=0;//     return-void
a=0;// 
a=0;//     :cond_3
a=0;//     #v5=(Char);
a=0;//     move v0, v1
a=0;// 
a=0;//     #v0=(Byte);
a=0;//     goto :goto_1
a=0;// .end method
a=0;// 
a=0;// .method static appendLengthInfo(IILcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 5
a=0;// 
a=0;//     const/4 v4, 0x1
a=0;// 
a=0;//     #v4=(One);
a=0;//     invoke-static {p1}, Lcom/google/zxing/qrcode/decoder/Version;->getVersionForNumber(I)Lcom/google/zxing/qrcode/decoder/Version;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Version;);
a=0;//     invoke-virtual {p2, v0}, Lcom/google/zxing/qrcode/decoder/Mode;->getCharacterCountBits(Lcom/google/zxing/qrcode/decoder/Version;)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     shl-int v1, v4, v0
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     add-int/lit8 v1, v1, -0x1
a=0;// 
a=0;//     if-le p0, v1, :cond_0
a=0;// 
a=0;//     new-instance v1, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v1=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     new-instance v2, Ljava/lang/StringBuffer;
a=0;// 
a=0;//     #v2=(UninitRef,Ljava/lang/StringBuffer;);
a=0;//     invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/StringBuffer;);
a=0;//     invoke-virtual {v2, p0}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     const-string v3, "is bigger than"
a=0;// 
a=0;//     #v3=(Reference,Ljava/lang/String;);
a=0;//     invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     shl-int v0, v4, v0
a=0;// 
a=0;//     add-int/lit8 v0, v0, -0x1
a=0;// 
a=0;//     invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/StringBuffer;);
a=0;//     invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     invoke-direct {v1, v0}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v1
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Integer);v1=(Integer);v2=(Uninit);v3=(Uninit);
a=0;//     invoke-virtual {p3, p0, v0}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method static appendModeInfo(Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 2
a=0;// 
a=0;//     invoke-virtual {p0}, Lcom/google/zxing/qrcode/decoder/Mode;->getBits()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     const/4 v1, 0x4
a=0;// 
a=0;//     #v1=(PosByte);
a=0;//     invoke-virtual {p1, v0, v1}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method static appendNumericBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 5
a=0;// 
a=0;//     invoke-virtual {p0}, Ljava/lang/String;->length()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v2=(Conflicted);v3=(Conflicted);v4=(Conflicted);
a=0;//     if-ge v0, v1, :cond_2
a=0;// 
a=0;//     invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Char);
a=0;//     add-int/lit8 v2, v2, -0x30
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     add-int/lit8 v3, v0, 0x2
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     if-ge v3, v1, :cond_0
a=0;// 
a=0;//     add-int/lit8 v3, v0, 0x1
a=0;// 
a=0;//     invoke-virtual {p0, v3}, Ljava/lang/String;->charAt(I)C
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Char);
a=0;//     add-int/lit8 v3, v3, -0x30
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     add-int/lit8 v4, v0, 0x2
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     invoke-virtual {p0, v4}, Ljava/lang/String;->charAt(I)C
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     #v4=(Char);
a=0;//     add-int/lit8 v4, v4, -0x30
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     mul-int/lit8 v2, v2, 0x64
a=0;// 
a=0;//     mul-int/lit8 v3, v3, 0xa
a=0;// 
a=0;//     add-int/2addr v2, v3
a=0;// 
a=0;//     add-int/2addr v2, v4
a=0;// 
a=0;//     const/16 v3, 0xa
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     invoke-virtual {p1, v2, v3}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x3
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     #v3=(Integer);v4=(Conflicted);
a=0;//     add-int/lit8 v3, v0, 0x1
a=0;// 
a=0;//     if-ge v3, v1, :cond_1
a=0;// 
a=0;//     add-int/lit8 v3, v0, 0x1
a=0;// 
a=0;//     invoke-virtual {p0, v3}, Ljava/lang/String;->charAt(I)C
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Char);
a=0;//     add-int/lit8 v3, v3, -0x30
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     mul-int/lit8 v2, v2, 0xa
a=0;// 
a=0;//     add-int/2addr v2, v3
a=0;// 
a=0;//     const/4 v3, 0x7
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     invoke-virtual {p1, v2, v3}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x2
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_1
a=0;//     #v3=(Integer);
a=0;//     const/4 v3, 0x4
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     invoke-virtual {p1, v2, v3}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_2
a=0;//     #v2=(Conflicted);v3=(Conflicted);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method private static calculateMaskPenalty(Lcom/google/zxing/common/ByteMatrix;)I
a=0;//     .locals 2
a=0;// 
a=0;//     invoke-static {p0}, Lcom/google/zxing/qrcode/encoder/MaskUtil;->applyMaskPenaltyRule1(Lcom/google/zxing/common/ByteMatrix;)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     add-int/lit8 v0, v0, 0x0
a=0;// 
a=0;//     invoke-static {p0}, Lcom/google/zxing/qrcode/encoder/MaskUtil;->applyMaskPenaltyRule2(Lcom/google/zxing/common/ByteMatrix;)I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     add-int/2addr v0, v1
a=0;// 
a=0;//     invoke-static {p0}, Lcom/google/zxing/qrcode/encoder/MaskUtil;->applyMaskPenaltyRule3(Lcom/google/zxing/common/ByteMatrix;)I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     add-int/2addr v0, v1
a=0;// 
a=0;//     invoke-static {p0}, Lcom/google/zxing/qrcode/encoder/MaskUtil;->applyMaskPenaltyRule4(Lcom/google/zxing/common/ByteMatrix;)I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     add-int/2addr v0, v1
a=0;// 
a=0;//     return v0
a=0;// .end method
a=0;// 
a=0;// .method private static chooseMaskPattern(Lcom/google/zxing/qrcode/encoder/BitVector;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;ILcom/google/zxing/common/ByteMatrix;)I
a=0;//     .locals 4
a=0;// 
a=0;//     const v3, 0x7fffffff
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     const/4 v0, -0x1
a=0;// 
a=0;//     #v0=(Byte);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v1=(Integer);v2=(Conflicted);
a=0;//     const/16 v2, 0x8
a=0;// 
a=0;//     #v2=(PosByte);
a=0;//     if-ge v1, v2, :cond_0
a=0;// 
a=0;//     invoke-static {p0, p1, p2, v1, p3}, Lcom/google/zxing/qrcode/encoder/MatrixUtil;->buildMatrix(Lcom/google/zxing/qrcode/encoder/BitVector;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;IILcom/google/zxing/common/ByteMatrix;)V
a=0;// 
a=0;//     invoke-static {p3}, Lcom/google/zxing/qrcode/encoder/Encoder;->calculateMaskPenalty(Lcom/google/zxing/common/ByteMatrix;)I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     if-ge v2, v3, :cond_1
a=0;// 
a=0;//     move v0, v1
a=0;// 
a=0;//     :goto_1
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     move v3, v2
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     #v2=(PosByte);
a=0;//     return v0
a=0;// 
a=0;//     :cond_1
a=0;//     #v2=(Integer);
a=0;//     move v2, v3
a=0;// 
a=0;//     goto :goto_1
a=0;// .end method
a=0;// 
a=0;// .method public static chooseMode(Ljava/lang/String;)Lcom/google/zxing/qrcode/decoder/Mode;
a=0;//     .locals 1
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     invoke-static {p0, v0}, Lcom/google/zxing/qrcode/encoder/Encoder;->chooseMode(Ljava/lang/String;Ljava/lang/String;)Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     return-object v0
a=0;// .end method
a=0;// 
a=0;// .method public static chooseMode(Ljava/lang/String;Ljava/lang/String;)Lcom/google/zxing/qrcode/decoder/Mode;
a=0;//     .locals 6
a=0;// 
a=0;//     const/4 v3, 0x1
a=0;// 
a=0;//     #v3=(One);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     const-string v1, "Shift_JIS"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Boolean);
a=0;//     if-eqz v1, :cond_0
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->KANJI:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);v1=(Integer);v2=(Conflicted);v4=(Conflicted);v5=(Conflicted);
a=0;//     return-object v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Null);v1=(Boolean);v2=(Uninit);v4=(Uninit);v5=(Uninit);
a=0;//     move v1, v0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     move v2, v0
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);v1=(Boolean);v2=(Boolean);v4=(Conflicted);v5=(Conflicted);
a=0;//     invoke-virtual {p0}, Ljava/lang/String;->length()I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     if-ge v0, v4, :cond_3
a=0;// 
a=0;//     invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     #v4=(Char);
a=0;//     const/16 v5, 0x30
a=0;// 
a=0;//     #v5=(PosByte);
a=0;//     if-lt v4, v5, :cond_1
a=0;// 
a=0;//     const/16 v5, 0x39
a=0;// 
a=0;//     if-gt v4, v5, :cond_1
a=0;// 
a=0;//     move v2, v3
a=0;// 
a=0;//     :goto_2
a=0;//     #v4=(Integer);
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_1
a=0;//     #v4=(Char);
a=0;//     invoke-static {v4}, Lcom/google/zxing/qrcode/encoder/Encoder;->getAlphanumericCode(I)I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     const/4 v4, -0x1
a=0;// 
a=0;//     #v4=(Byte);
a=0;//     if-eq v1, v4, :cond_2
a=0;// 
a=0;//     move v1, v3
a=0;// 
a=0;//     #v1=(One);
a=0;//     goto :goto_2
a=0;// 
a=0;//     :cond_2
a=0;//     #v1=(Integer);
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->BYTE:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_3
a=0;//     #v0=(Integer);v1=(Boolean);v4=(Integer);v5=(Conflicted);
a=0;//     if-eqz v1, :cond_4
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->ALPHANUMERIC:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_4
a=0;//     #v0=(Integer);
a=0;//     if-eqz v2, :cond_5
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->NUMERIC:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_5
a=0;//     #v0=(Integer);
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->BYTE:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     goto :goto_0
a=0;// .end method
a=0;// 
a=0;// .method public static encode(Ljava/lang/String;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Lcom/google/zxing/qrcode/encoder/QRCode;)V
a=0;//     .locals 1
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     invoke-static {p0, p1, v0, p2}, Lcom/google/zxing/qrcode/encoder/Encoder;->encode(Ljava/lang/String;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Ljava/util/Hashtable;Lcom/google/zxing/qrcode/encoder/QRCode;)V
a=0;// 
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method public static encode(Ljava/lang/String;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Ljava/util/Hashtable;Lcom/google/zxing/qrcode/encoder/QRCode;)V
a=0;//     .locals 5
a=0;// 
a=0;//     if-nez p2, :cond_2
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Reference,Ljava/lang/String;);
a=0;//     if-nez v0, :cond_0
a=0;// 
a=0;//     const-string v0, "ISO-8859-1"
a=0;// 
a=0;//     :cond_0
a=0;//     invoke-static {p0, v0}, Lcom/google/zxing/qrcode/encoder/Encoder;->chooseMode(Ljava/lang/String;Ljava/lang/String;)Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     new-instance v2, Lcom/google/zxing/qrcode/encoder/BitVector;
a=0;// 
a=0;//     #v2=(UninitRef,Lcom/google/zxing/qrcode/encoder/BitVector;);
a=0;//     invoke-direct {v2}, Lcom/google/zxing/qrcode/encoder/BitVector;-><init>()V
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/qrcode/encoder/BitVector;);
a=0;//     invoke-static {p0, v1, v2, v0}, Lcom/google/zxing/qrcode/encoder/Encoder;->appendBytes(Ljava/lang/String;Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/qrcode/encoder/BitVector;Ljava/lang/String;)V
a=0;// 
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBytes()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     invoke-static {v3, p1, v1, p3}, Lcom/google/zxing/qrcode/encoder/Encoder;->initQRCode(ILcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/qrcode/encoder/QRCode;)V
a=0;// 
a=0;//     new-instance v3, Lcom/google/zxing/qrcode/encoder/BitVector;
a=0;// 
a=0;//     #v3=(UninitRef,Lcom/google/zxing/qrcode/encoder/BitVector;);
a=0;//     invoke-direct {v3}, Lcom/google/zxing/qrcode/encoder/BitVector;-><init>()V
a=0;// 
a=0;//     #v3=(Reference,Lcom/google/zxing/qrcode/encoder/BitVector;);
a=0;//     sget-object v4, Lcom/google/zxing/qrcode/decoder/Mode;->BYTE:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     #v4=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);
a=0;//     if-ne v1, v4, :cond_1
a=0;// 
a=0;//     const-string v4, "ISO-8859-1"
a=0;// 
a=0;//     invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     #v4=(Boolean);
a=0;//     if-nez v4, :cond_1
a=0;// 
a=0;//     invoke-static {v0}, Lcom/google/zxing/common/CharacterSetECI;->getCharacterSetECIByName(Ljava/lang/String;)Lcom/google/zxing/common/CharacterSetECI;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     if-eqz v0, :cond_1
a=0;// 
a=0;//     invoke-static {v0, v3}, Lcom/google/zxing/qrcode/encoder/Encoder;->appendECI(Lcom/google/zxing/common/CharacterSetECI;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;// 
a=0;//     :cond_1
a=0;//     #v4=(Conflicted);
a=0;//     invoke-static {v1, v3}, Lcom/google/zxing/qrcode/encoder/Encoder;->appendModeInfo(Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/decoder/Mode;->BYTE:Lcom/google/zxing/qrcode/decoder/Mode;
a=0;// 
a=0;//     invoke-virtual {v1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-eqz v0, :cond_3
a=0;// 
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBytes()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getVersion()I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     invoke-static {v0, v4, v1, v3}, Lcom/google/zxing/qrcode/encoder/Encoder;->appendLengthInfo(IILcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;// 
a=0;//     invoke-virtual {v3, v2}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBitVector(Lcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;// 
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getNumDataBytes()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     invoke-static {v0, v3}, Lcom/google/zxing/qrcode/encoder/Encoder;->terminateBits(ILcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/qrcode/encoder/BitVector;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/qrcode/encoder/BitVector;);
a=0;//     invoke-direct {v0}, Lcom/google/zxing/qrcode/encoder/BitVector;-><init>()V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/qrcode/encoder/BitVector;);
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getNumTotalBytes()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getNumDataBytes()I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getNumRSBlocks()I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     invoke-static {v3, v1, v2, v4, v0}, Lcom/google/zxing/qrcode/encoder/Encoder;->interleaveWithECBytes(Lcom/google/zxing/qrcode/encoder/BitVector;IIILcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;// 
a=0;//     new-instance v1, Lcom/google/zxing/common/ByteMatrix;
a=0;// 
a=0;//     #v1=(UninitRef,Lcom/google/zxing/common/ByteMatrix;);
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getMatrixWidth()I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getMatrixWidth()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     invoke-direct {v1, v2, v3}, Lcom/google/zxing/common/ByteMatrix;-><init>(II)V
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/ByteMatrix;);
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getECLevel()Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;);
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getVersion()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     invoke-static {v0, v2, v3, v1}, Lcom/google/zxing/qrcode/encoder/Encoder;->chooseMaskPattern(Lcom/google/zxing/qrcode/encoder/BitVector;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;ILcom/google/zxing/common/ByteMatrix;)I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     invoke-virtual {p3, v2}, Lcom/google/zxing/qrcode/encoder/QRCode;->setMaskPattern(I)V
a=0;// 
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getECLevel()Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;);
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getVersion()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->getMaskPattern()I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     invoke-static {v0, v2, v3, v4, v1}, Lcom/google/zxing/qrcode/encoder/MatrixUtil;->buildMatrix(Lcom/google/zxing/qrcode/encoder/BitVector;Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;IILcom/google/zxing/common/ByteMatrix;)V
a=0;// 
a=0;//     invoke-virtual {p3, v1}, Lcom/google/zxing/qrcode/encoder/QRCode;->setMatrix(Lcom/google/zxing/common/ByteMatrix;)V
a=0;// 
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->isValid()Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-nez v0, :cond_4
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     new-instance v1, Ljava/lang/StringBuffer;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/lang/StringBuffer;);
a=0;//     const-string v2, "Invalid QR code: "
a=0;// 
a=0;//     invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/StringBuffer;);
a=0;//     invoke-virtual {p3}, Lcom/google/zxing/qrcode/encoder/QRCode;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_2
a=0;//     #v0=(Uninit);v1=(Uninit);v2=(Uninit);v3=(Uninit);v4=(Uninit);
a=0;//     sget-object v0, Lcom/google/zxing/EncodeHintType;->CHARACTER_SET:Lcom/google/zxing/EncodeHintType;
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/EncodeHintType;);
a=0;//     invoke-virtual {p2, v0}, Ljava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     check-cast v0, Ljava/lang/String;
a=0;// 
a=0;//     goto/16 :goto_0
a=0;// 
a=0;//     :cond_3
a=0;//     #v0=(Boolean);v1=(Reference,Lcom/google/zxing/qrcode/decoder/Mode;);v2=(Reference,Lcom/google/zxing/qrcode/encoder/BitVector;);v3=(Reference,Lcom/google/zxing/qrcode/encoder/BitVector;);v4=(Conflicted);
a=0;//     invoke-virtual {p0}, Ljava/lang/String;->length()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_4
a=0;//     #v0=(Boolean);v3=(Integer);v4=(Integer);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method static generateECBytes(Lcom/google/zxing/common/ByteArray;I)Lcom/google/zxing/common/ByteArray;
a=0;//     .locals 5
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     invoke-virtual {p0}, Lcom/google/zxing/common/ByteArray;->size()I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     add-int v1, v2, p1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     new-array v3, v1, [I
a=0;// 
a=0;//     #v3=(Reference,[I);
a=0;//     move v1, v0
a=0;// 
a=0;//     :goto_0
a=0;//     #v4=(Conflicted);
a=0;//     if-ge v1, v2, :cond_0
a=0;// 
a=0;//     invoke-virtual {p0, v1}, Lcom/google/zxing/common/ByteArray;->at(I)I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     aput v4, v3, v1
a=0;// 
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_0
a=0;//     #v4=(Conflicted);
a=0;//     new-instance v1, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;
a=0;// 
a=0;//     #v1=(UninitRef,Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;);
a=0;//     sget-object v4, Lcom/google/zxing/common/reedsolomon/GF256;->QR_CODE_FIELD:Lcom/google/zxing/common/reedsolomon/GF256;
a=0;// 
a=0;//     #v4=(Reference,Lcom/google/zxing/common/reedsolomon/GF256;);
a=0;//     invoke-direct {v1, v4}, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;-><init>(Lcom/google/zxing/common/reedsolomon/GF256;)V
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;);
a=0;//     invoke-virtual {v1, v3, p1}, Lcom/google/zxing/common/reedsolomon/ReedSolomonEncoder;->encode([II)V
a=0;// 
a=0;//     new-instance v1, Lcom/google/zxing/common/ByteArray;
a=0;// 
a=0;//     #v1=(UninitRef,Lcom/google/zxing/common/ByteArray;);
a=0;//     invoke-direct {v1, p1}, Lcom/google/zxing/common/ByteArray;-><init>(I)V
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);v1=(Reference,Lcom/google/zxing/common/ByteArray;);v4=(Conflicted);
a=0;//     if-ge v0, p1, :cond_1
a=0;// 
a=0;//     add-int v4, v2, v0
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     aget v4, v3, v4
a=0;// 
a=0;//     invoke-virtual {v1, v0, v4}, Lcom/google/zxing/common/ByteArray;->set(II)V
a=0;// 
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_1
a=0;//     #v4=(Conflicted);
a=0;//     return-object v1
a=0;// .end method
a=0;// 
a=0;// .method static getAlphanumericCode(I)I
a=0;//     .locals 1
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/encoder/Encoder;->ALPHANUMERIC_TABLE:[I
a=0;// 
a=0;//     #v0=(Reference,[I);
a=0;//     array-length v0, v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     if-ge p0, v0, :cond_0
a=0;// 
a=0;//     sget-object v0, Lcom/google/zxing/qrcode/encoder/Encoder;->ALPHANUMERIC_TABLE:[I
a=0;// 
a=0;//     #v0=(Reference,[I);
a=0;//     aget v0, v0, p0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);
a=0;//     return v0
a=0;// 
a=0;//     :cond_0
a=0;//     const/4 v0, -0x1
a=0;// 
a=0;//     #v0=(Byte);
a=0;//     goto :goto_0
a=0;// .end method
a=0;// 
a=0;// .method static getNumDataBytesAndNumECBytesForBlockID(IIII[I[I)V
a=0;//     .locals 9
a=0;// 
a=0;//     const/4 v8, 0x0
a=0;// 
a=0;//     #v8=(Null);
a=0;//     if-lt p3, p2, :cond_0
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "Block ID too large"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Uninit);v1=(Uninit);
a=0;//     rem-int v0, p0, p2
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     sub-int v1, p2, v0
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     div-int v2, p0, p2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     add-int/lit8 v3, v2, 0x1
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     div-int v4, p1, p2
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     add-int/lit8 v5, v4, 0x1
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     sub-int/2addr v2, v4
a=0;// 
a=0;//     sub-int/2addr v3, v5
a=0;// 
a=0;//     if-eq v2, v3, :cond_1
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "EC bytes mismatch"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_1
a=0;//     #v0=(Integer);v1=(Integer);
a=0;//     add-int v6, v1, v0
a=0;// 
a=0;//     #v6=(Integer);
a=0;//     if-eq p2, v6, :cond_2
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "RS blocks mismatch"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_2
a=0;//     #v0=(Integer);v1=(Integer);
a=0;//     add-int v6, v4, v2
a=0;// 
a=0;//     mul-int/2addr v6, v1
a=0;// 
a=0;//     add-int v7, v5, v3
a=0;// 
a=0;//     #v7=(Integer);
a=0;//     mul-int/2addr v0, v7
a=0;// 
a=0;//     add-int/2addr v0, v6
a=0;// 
a=0;//     if-eq p0, v0, :cond_3
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "Total bytes mismatch"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_3
a=0;//     #v0=(Integer);v1=(Integer);
a=0;//     if-ge p3, v1, :cond_4
a=0;// 
a=0;//     aput v4, p4, v8
a=0;// 
a=0;//     aput v2, p5, v8
a=0;// 
a=0;//     :goto_0
a=0;//     return-void
a=0;// 
a=0;//     :cond_4
a=0;//     aput v5, p4, v8
a=0;// 
a=0;//     aput v3, p5, v8
a=0;// 
a=0;//     goto :goto_0
a=0;// .end method
a=0;// 
a=0;// .method private static initQRCode(ILcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;Lcom/google/zxing/qrcode/decoder/Mode;Lcom/google/zxing/qrcode/encoder/QRCode;)V
a=0;//     .locals 7
a=0;// 
a=0;//     invoke-virtual {p3, p1}, Lcom/google/zxing/qrcode/encoder/QRCode;->setECLevel(Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)V
a=0;// 
a=0;//     invoke-virtual {p3, p2}, Lcom/google/zxing/qrcode/encoder/QRCode;->setMode(Lcom/google/zxing/qrcode/decoder/Mode;)V
a=0;// 
a=0;//     const/4 v0, 0x1
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v1=(Conflicted);v2=(Conflicted);v3=(Conflicted);v4=(Conflicted);v5=(Conflicted);v6=(Conflicted);
a=0;//     const/16 v1, 0x28
a=0;// 
a=0;//     #v1=(PosByte);
a=0;//     if-gt v0, v1, :cond_1
a=0;// 
a=0;//     invoke-static {v0}, Lcom/google/zxing/qrcode/decoder/Version;->getVersionForNumber(I)Lcom/google/zxing/qrcode/decoder/Version;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/qrcode/decoder/Version;);
a=0;//     invoke-virtual {v1}, Lcom/google/zxing/qrcode/decoder/Version;->getTotalCodewords()I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     invoke-virtual {v1, p1}, Lcom/google/zxing/qrcode/decoder/Version;->getECBlocksForLevel(Lcom/google/zxing/qrcode/decoder/ErrorCorrectionLevel;)Lcom/google/zxing/qrcode/decoder/Version$ECBlocks;
a=0;// 
a=0;//     move-result-object v3
a=0;// 
a=0;//     #v3=(Reference,Lcom/google/zxing/qrcode/decoder/Version$ECBlocks;);
a=0;//     invoke-virtual {v3}, Lcom/google/zxing/qrcode/decoder/Version$ECBlocks;->getTotalECCodewords()I
a=0;// 
a=0;//     move-result v4
a=0;// 
a=0;//     #v4=(Integer);
a=0;//     invoke-virtual {v3}, Lcom/google/zxing/qrcode/decoder/Version$ECBlocks;->getNumBlocks()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     sub-int v5, v2, v4
a=0;// 
a=0;//     #v5=(Integer);
a=0;//     add-int/lit8 v6, p0, 0x3
a=0;// 
a=0;//     #v6=(Integer);
a=0;//     if-lt v5, v6, :cond_0
a=0;// 
a=0;//     invoke-virtual {p3, v0}, Lcom/google/zxing/qrcode/encoder/QRCode;->setVersion(I)V
a=0;// 
a=0;//     invoke-virtual {p3, v2}, Lcom/google/zxing/qrcode/encoder/QRCode;->setNumTotalBytes(I)V
a=0;// 
a=0;//     invoke-virtual {p3, v5}, Lcom/google/zxing/qrcode/encoder/QRCode;->setNumDataBytes(I)V
a=0;// 
a=0;//     invoke-virtual {p3, v3}, Lcom/google/zxing/qrcode/encoder/QRCode;->setNumRSBlocks(I)V
a=0;// 
a=0;//     invoke-virtual {p3, v4}, Lcom/google/zxing/qrcode/encoder/QRCode;->setNumECBytes(I)V
a=0;// 
a=0;//     invoke-virtual {v1}, Lcom/google/zxing/qrcode/decoder/Version;->getDimensionForVersion()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     invoke-virtual {p3, v0}, Lcom/google/zxing/qrcode/encoder/QRCode;->setMatrixWidth(I)V
a=0;// 
a=0;//     return-void
a=0;// 
a=0;//     :cond_0
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_1
a=0;//     #v1=(PosByte);v2=(Conflicted);v3=(Conflicted);v4=(Conflicted);v5=(Conflicted);v6=(Conflicted);
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "Cannot find proper rs block info (input data too big?)"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// .end method
a=0;// 
a=0;// .method static interleaveWithECBytes(Lcom/google/zxing/qrcode/encoder/BitVector;IIILcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 10
a=0;// 
a=0;//     invoke-virtual {p0}, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBytes()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     if-eq v0, p2, :cond_0
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "Number of bits and data bytes does not match"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Integer);v1=(Uninit);
a=0;//     const/4 v2, 0x0
a=0;// 
a=0;//     #v2=(Null);
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     new-instance v9, Ljava/util/Vector;
a=0;// 
a=0;//     #v9=(UninitRef,Ljava/util/Vector;);
a=0;//     invoke-direct {v9, p3}, Ljava/util/Vector;-><init>(I)V
a=0;// 
a=0;//     #v9=(Reference,Ljava/util/Vector;);
a=0;//     const/4 v3, 0x0
a=0;// 
a=0;//     #v3=(Null);
a=0;//     move v6, v0
a=0;// 
a=0;//     #v6=(Null);
a=0;//     move v7, v1
a=0;// 
a=0;//     #v7=(Null);
a=0;//     move v8, v2
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v1=(Integer);v2=(Integer);v3=(Integer);v4=(Conflicted);v5=(Conflicted);v6=(Integer);v7=(Integer);v8=(Integer);
a=0;//     if-ge v3, p3, :cond_1
a=0;// 
a=0;//     const/4 v0, 0x1
a=0;// 
a=0;//     #v0=(One);
a=0;//     new-array v4, v0, [I
a=0;// 
a=0;//     #v4=(Reference,[I);
a=0;//     const/4 v0, 0x1
a=0;// 
a=0;//     new-array v5, v0, [I
a=0;// 
a=0;//     #v5=(Reference,[I);
a=0;//     move v0, p1
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     move v1, p2
a=0;// 
a=0;//     move v2, p3
a=0;// 
a=0;//     invoke-static/range {v0 .. v5}, Lcom/google/zxing/qrcode/encoder/Encoder;->getNumDataBytesAndNumECBytesForBlockID(IIII[I[I)V
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/common/ByteArray;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/common/ByteArray;);
a=0;//     invoke-direct {v0}, Lcom/google/zxing/common/ByteArray;-><init>()V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/common/ByteArray;);
a=0;//     invoke-virtual {p0}, Lcom/google/zxing/qrcode/encoder/BitVector;->getArray()[B
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     #v1=(Reference,[B);
a=0;//     const/4 v2, 0x0
a=0;// 
a=0;//     #v2=(Null);
a=0;//     aget v2, v4, v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     invoke-virtual {v0, v1, v8, v2}, Lcom/google/zxing/common/ByteArray;->set([BII)V
a=0;// 
a=0;//     const/4 v1, 0x0
a=0;// 
a=0;//     #v1=(Null);
a=0;//     aget v1, v5, v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     invoke-static {v0, v1}, Lcom/google/zxing/qrcode/encoder/Encoder;->generateECBytes(Lcom/google/zxing/common/ByteArray;I)Lcom/google/zxing/common/ByteArray;
a=0;// 
a=0;//     move-result-object v2
a=0;// 
a=0;//     #v2=(Reference,Lcom/google/zxing/common/ByteArray;);
a=0;//     new-instance v1, Lcom/google/zxing/qrcode/encoder/Encoder$BlockPair;
a=0;// 
a=0;//     #v1=(UninitRef,Lcom/google/zxing/qrcode/encoder/Encoder$BlockPair;);
a=0;//     invoke-direct {v1, v0, v2}, Lcom/google/zxing/qrcode/encoder/Encoder$BlockPair;-><init>(Lcom/google/zxing/common/ByteArray;Lcom/google/zxing/common/ByteArray;)V
a=0;// 
a=0;//     #v1=(Reference,Lcom/google/zxing/qrcode/encoder/Encoder$BlockPair;);
a=0;//     invoke-virtual {v9, v1}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/common/ByteArray;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     invoke-static {v7, v0}, Ljava/lang/Math;->max(II)I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     invoke-virtual {v2}, Lcom/google/zxing/common/ByteArray;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     invoke-static {v6, v0}, Ljava/lang/Math;->max(II)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     const/4 v2, 0x0
a=0;// 
a=0;//     #v2=(Null);
a=0;//     aget v2, v4, v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     add-int/2addr v2, v8
a=0;// 
a=0;//     add-int/lit8 v3, v3, 0x1
a=0;// 
a=0;//     move v6, v0
a=0;// 
a=0;//     move v7, v1
a=0;// 
a=0;//     move v8, v2
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_1
a=0;//     #v4=(Conflicted);v5=(Conflicted);
a=0;//     if-eq p2, v8, :cond_2
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "Data bytes does not match offset"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_2
a=0;//     #v0=(Integer);v1=(Integer);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     move v2, v0
a=0;// 
a=0;//     :goto_1
a=0;//     #v0=(Integer);
a=0;//     if-ge v2, v7, :cond_5
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     move v1, v0
a=0;// 
a=0;//     :goto_2
a=0;//     #v0=(Integer);
a=0;//     invoke-virtual {v9}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     if-ge v1, v0, :cond_4
a=0;// 
a=0;//     invoke-virtual {v9, v1}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v0, Lcom/google/zxing/qrcode/encoder/Encoder$BlockPair;
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/qrcode/encoder/Encoder$BlockPair;->getDataBytes()Lcom/google/zxing/common/ByteArray;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/common/ByteArray;->size()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     if-ge v2, v3, :cond_3
a=0;// 
a=0;//     invoke-virtual {v0, v2}, Lcom/google/zxing/common/ByteArray;->at(I)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     const/16 v3, 0x8
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     invoke-virtual {p4, v0, v3}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     :cond_3
a=0;//     #v0=(Conflicted);v3=(Integer);
a=0;//     add-int/lit8 v0, v1, 0x1
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     move v1, v0
a=0;// 
a=0;//     goto :goto_2
a=0;// 
a=0;//     :cond_4
a=0;//     add-int/lit8 v0, v2, 0x1
a=0;// 
a=0;//     move v2, v0
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_5
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     move v2, v0
a=0;// 
a=0;//     :goto_3
a=0;//     #v0=(Integer);
a=0;//     if-ge v2, v6, :cond_8
a=0;// 
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     move v1, v0
a=0;// 
a=0;//     :goto_4
a=0;//     #v0=(Integer);
a=0;//     invoke-virtual {v9}, Ljava/util/Vector;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     if-ge v1, v0, :cond_7
a=0;// 
a=0;//     invoke-virtual {v9, v1}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/Object;);
a=0;//     check-cast v0, Lcom/google/zxing/qrcode/encoder/Encoder$BlockPair;
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/qrcode/encoder/Encoder$BlockPair;->getErrorCorrectionBytes()Lcom/google/zxing/common/ByteArray;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     invoke-virtual {v0}, Lcom/google/zxing/common/ByteArray;->size()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     if-ge v2, v3, :cond_6
a=0;// 
a=0;//     invoke-virtual {v0, v2}, Lcom/google/zxing/common/ByteArray;->at(I)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     const/16 v3, 0x8
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     invoke-virtual {p4, v0, v3}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     :cond_6
a=0;//     #v0=(Conflicted);v3=(Integer);
a=0;//     add-int/lit8 v0, v1, 0x1
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     move v1, v0
a=0;// 
a=0;//     goto :goto_4
a=0;// 
a=0;//     :cond_7
a=0;//     add-int/lit8 v0, v2, 0x1
a=0;// 
a=0;//     move v2, v0
a=0;// 
a=0;//     goto :goto_3
a=0;// 
a=0;//     :cond_8
a=0;//     invoke-virtual {p4}, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBytes()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     if-eq p1, v0, :cond_9
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     new-instance v1, Ljava/lang/StringBuffer;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/lang/StringBuffer;);
a=0;//     const-string v2, "Interleaving error: "
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/StringBuffer;);
a=0;//     invoke-virtual {v1, p1}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     const-string v2, " and "
a=0;// 
a=0;//     invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {p4}, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBytes()I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     const-string v2, " differ."
a=0;// 
a=0;//     #v2=(Reference,Ljava/lang/String;);
a=0;//     invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_9
a=0;//     #v0=(Integer);v1=(Integer);v2=(Integer);
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// .method static terminateBits(ILcom/google/zxing/qrcode/encoder/BitVector;)V
a=0;//     .locals 5
a=0;// 
a=0;//     const/16 v4, 0x8
a=0;// 
a=0;//     #v4=(PosByte);
a=0;//     const/4 v0, 0x0
a=0;// 
a=0;//     #v0=(Null);
a=0;//     shl-int/lit8 v2, p0, 0x3
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/qrcode/encoder/BitVector;->size()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     if-le v1, v2, :cond_0
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     new-instance v1, Ljava/lang/StringBuffer;
a=0;// 
a=0;//     #v1=(UninitRef,Ljava/lang/StringBuffer;);
a=0;//     const-string v3, "data bits cannot fit in the QR Code"
a=0;// 
a=0;//     #v3=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v1, v3}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/StringBuffer;);
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/qrcode/encoder/BitVector;->size()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     invoke-virtual {v1, v3}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     const-string v3, " > "
a=0;// 
a=0;//     #v3=(Reference,Ljava/lang/String;);
a=0;//     invoke-virtual {v1, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
a=0;// 
a=0;//     move-result-object v1
a=0;// 
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Null);v1=(Integer);v3=(Uninit);
a=0;//     move v1, v0
a=0;// 
a=0;//     :goto_0
a=0;//     #v3=(Conflicted);
a=0;//     const/4 v3, 0x4
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     if-ge v1, v3, :cond_1
a=0;// 
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/qrcode/encoder/BitVector;->size()I
a=0;// 
a=0;//     move-result v3
a=0;// 
a=0;//     #v3=(Integer);
a=0;//     if-ge v3, v2, :cond_1
a=0;// 
a=0;//     invoke-virtual {p1, v0}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBit(I)V
a=0;// 
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_1
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/qrcode/encoder/BitVector;->size()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     rem-int/lit8 v1, v1, 0x8
a=0;// 
a=0;//     if-lez v1, :cond_2
a=0;// 
a=0;//     rsub-int/lit8 v3, v1, 0x8
a=0;// 
a=0;//     move v1, v0
a=0;// 
a=0;//     :goto_1
a=0;//     if-ge v1, v3, :cond_2
a=0;// 
a=0;//     invoke-virtual {p1, v0}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBit(I)V
a=0;// 
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_2
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/qrcode/encoder/BitVector;->size()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     rem-int/lit8 v1, v1, 0x8
a=0;// 
a=0;//     if-eqz v1, :cond_3
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "Number of bits is not a multiple of 8"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_3
a=0;//     #v0=(Null);v1=(Integer);
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/qrcode/encoder/BitVector;->sizeInBytes()I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     sub-int v1, p0, v1
a=0;// 
a=0;//     :goto_2
a=0;//     #v0=(Integer);
a=0;//     if-ge v0, v1, :cond_5
a=0;// 
a=0;//     rem-int/lit8 v3, v0, 0x2
a=0;// 
a=0;//     if-nez v3, :cond_4
a=0;// 
a=0;//     const/16 v3, 0xec
a=0;// 
a=0;//     #v3=(PosShort);
a=0;//     invoke-virtual {p1, v3, v4}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     :goto_3
a=0;//     add-int/lit8 v0, v0, 0x1
a=0;// 
a=0;//     goto :goto_2
a=0;// 
a=0;//     :cond_4
a=0;//     #v3=(Integer);
a=0;//     const/16 v3, 0x11
a=0;// 
a=0;//     #v3=(PosByte);
a=0;//     invoke-virtual {p1, v3, v4}, Lcom/google/zxing/qrcode/encoder/BitVector;->appendBits(II)V
a=0;// 
a=0;//     goto :goto_3
a=0;// 
a=0;//     :cond_5
a=0;//     #v3=(Integer);
a=0;//     invoke-virtual {p1}, Lcom/google/zxing/qrcode/encoder/BitVector;->size()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     if-eq v0, v2, :cond_6
a=0;// 
a=0;//     new-instance v0, Lcom/google/zxing/WriterException;
a=0;// 
a=0;//     #v0=(UninitRef,Lcom/google/zxing/WriterException;);
a=0;//     const-string v1, "Bits size does not equal capacity"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Lcom/google/zxing/WriterException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Lcom/google/zxing/WriterException;);
a=0;//     throw v0
a=0;// 
a=0;//     :cond_6
a=0;//     #v0=(Integer);v1=(Integer);
a=0;//     return-void
a=0;// .end method
}}
